package cn.gok.server.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

/**
 * @author: DxlinY
 * @apiNote: 模板方法模式，统一处理分页
 * @date: 2020/10/19
 * @time: 17:15
 */
public interface BaseService {

    /**
     * 设置pageHelper
     *
     * @param page  页数
     * @param limit 页容量
     */
    default void pageHelperSet(int page, int limit) {
        PageHelper.startPage(page, limit);
    }

    /**
     * 访问pageInfo获取列表
     *
     * @return pageInfo
     */
    PageInfo pageInfo(Object target);


    /**
     * 返回分页对象
     *
     * @param page  页数
     * @param limit 页容量
     * @return pageInfo
     */
    default PageInfo listAll(int page, int limit, Object target) {
        pageHelperSet(page, limit);
        return pageInfo(target);
    }
}
